﻿//表格数据加载
layui.use(['table', 'util'], function () {
    //用table就要定义
    var table = layui.table;
    //用form就要定义
    var form = layui.form;
    //表格数据加载
    table.render({
        elem: '#sample_table' //表格id要对应
        , url: '/Module/GetModuleList' //对应控制器的action方法
        , height: 500
        , page: true //开启分页
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
        , cols: [[
            { field: 'Id', title: '编号', sort: true }
            , { field: 'Name', title: '模块名称' } //width 支持：数字、百分比和不填写。你还可以通过 minWidth 参数局部定义当前单元格的最小宽度，layui 2.2.1 新增
            , { field: 'ParentId', title: '父模块ID', sort: true }
            , { field: 'SortId', title: '排序' }
            , { field: 'IsEnable', title: '是否启用', width: 120, templet: '#switchTpl', unresize: true } //切换按钮禁用启用
            , { field: 'Remark', title: '备注' }
            , { title: '操作', fixed: 'right', width: 200, align: 'center', toolbar: '#barDemo' }
        ]]
    });

    //监听启用和禁用操作
    form.on('switch(IsEnable)', function (obj) {
        var tip = "启用";
        var id = this.id;
        //获取当前选中的值
        var status = this.value;
        if (this.value === "1") {
            tip = "停用";
            status = false;
        }
        else {
            tip = "启用";
            status = true;
        }

        //启用的功能代码
        layer.confirm('真的要' + tip + '吗', function (index) {
            $.ajax({
                url: "/Module/UpdateStatus?id=" + id + "&status=" + status,
                type: "Post",
                success: function (data) {
                    if (data.success) {
                        layer.msg(tip + '成功！', {
                            title: '提示框',
                            icon: 1,
                            time: 2000
                        }, function () {
                            TableReload();
                            layer.close(index);
                        });
                    }
                    else {
                        layer.msg(tip + '失败！', {
                            title: '提示框',
                            icon: 1,
                            time: 2000
                        });
                    }
                }
            });
        });
    });

    //监听工具条
    table.on('tool(demo)', function (obj) {
        var data = obj.data;
        var id = data.Id;
        
        if (obj.event === 'del') {
            //删除的功能代码
            layer.confirm('真的要删除吗', function (index) {
                $.ajax({
                    url: "/Module/DeleteModuleById?id=" + id,
                    type: "Post",
                    success: function (data) {
                        if (data.success) {
                            layer.msg(data.msg, {
                                title: '提示框',
                                icon: 1,
                                time: 2000
                            }, function () {
                                //列表局部刷新
                                TableReload();
                                layer.close(index);
                            });
                        }
                        else {
                            layer.msg(data.msg, {
                                title: '提示框',
                                icon: 1,
                                time: 2000
                            });
                        }
                    }
                });
            });
        } else if (obj.event === 'edit') {
            window.location.href = '/Module/Update?id=' + id;
        }
    });

    //点击搜索事件
    $(".sou").click(function () {
        TableReload();
    })
});

//查询列表刷新
function TableReload() {
    var table = layui.table;
    var moduleName = $("#ModuleName").val();
    //上述方法等价于
    table.reload('sample_table', {
        where: { //设定异步数据接口的额外参数，任意设
            moduleName: moduleName
        }
    });
}


